The present invention relates to a binary to unary decoder and, more particularly, to a binary to unary decoder for a video digital to analog converter which is cascadeable in both a horizontal and a vertical direction.
In a typical graphics display system for a personal computer, a digital video signal is retrieved from a memory array and converted into an analog video signal by a digital to analog converter which is then displayed on a video screen. In order to achieve an adequate number of color intensity levels, typically 8 bits of data are associated with each pixel on the screen which allows for up to 256 different colors. Eight bits of data originating from either bit plane registers or directly from RAM contained within the system are transmitted to a color look-up table. The color look-up table recognized the 8 bits of data as an 8-bit address which is used to select 1 of 256 24-bit color values. Each 24-bit color value comprises three 8-bit binary values which are converted to red, green and blue analog signals respectively which are then output to video display devices.
Many prior art video digital-to-analog converter (DACs) use a binary weighted decode scheme. A plurality of analog current generators are implemented, the size of which are proportional to the significance of the bits of the color value the generator represents. Preferably, 8 analog generators are required for each DAC. However, there is a problem with the binary weighted decode schemes in that there is sometimes a time discrepancy between when a certain color bit turns off and the next color bit turns on. Overlaps of color bits can cause a glitch in the video display which is apparent to the human eye. For example, if the color bit scheme is 100 and then the next color bit scheme is 011, sometimes the decoder mistakenly identifies the signal as 111. If a number of glitches are apparent on the video display, it produces an unpleasant visual appearance.
These disadvantages can be overcome by first converting the 8-bit binary color value to a unary value which is then converted to an analog signal. The analog signal is used to drive a plurality of analog generators which are each equal in size, thereby, eliminating the need for weighted generators. A binary to unary decoder receives a binary input value which represents a particular color value and which is converted into a unary output value which is then transmitted to the video DAC for conversion to an analog signal. In general, in an n-bit binary to unary decoder, there are 2.sup.n-1 unary outputs. The number of active unary outputs is equal to the binary input value. In the preferred embodiment, each color binary input value comprises 8 bits. Therefore in an 8-bit binary to unary decoder, there are 2.sup.8-1 or 256 unary outputs. If the binary input value equals 00000011, then there are 3 active unary outputs. The number of bits which are enabled by the unary decoder determines the number of active analog current generators and therefore the intensity of each color produced on the video display.